<?php
/**
 * Created by PhpStorm.
 * User: ewen
 * Date: 2020-09-16
 * Time: 17:51
 */

namespace app\common\model;


use think\Model;

class Common extends Model
{

    //  常规设置
    const DEFAULT_PER_PAGE = 15;//默认每页显示数量
    const IS_SHOW_YES = 1;//显示
    const IS_SHOW_NO = 0;//隐藏

    const TYPE_INC = 1;//收入
    const TYPE_DEC = 2;//支出

    //  TODO EWEN 任务奖励总数限制；后台任务奖励数量修改
    const SUM_AWARD_USD = 100;//累计总奖励U数量
    const SUM_AWARD_USD_AIRDROP = 100;//累计总奖励U数量
    const TXUSD_USD_RATE = 1;//txusd和usdt的汇率 TXUSD/USDT = 1;


    //  缓存管理
    const CACHE_ADMIN_AUTH = 'cache_admin_auth';//后台管理权限
    const CACHE_ADMIN_ROLE_LIST = 'cache_admin_role_list';//后台权限角色列表
    const CACHE_ADMIN_ADMIN_LIST = 'cache_admin_admin_list';//后台权限管理员列表
    const CACHE_SYSTEM_BASE_INFO = 'cache_system_base_info';//系统设置

    /**
     * 获取缓存列表
     * @return array
     */
    public static function getCacheList()
    {
        return [
            [
                'cache_name' => '后台管理权限',
                'cache_key' => self::CACHE_ADMIN_AUTH
            ],
            [
                'cache_name' => '后台权限角色列表',
                'cache_key' => self::CACHE_ADMIN_ROLE_LIST
            ],
            [
                'cache_name' => '后台权限管理员列表',
                'cache_key' => self::CACHE_ADMIN_ADMIN_LIST
            ],
            [
                'cache_name' => '系统设置',
                'cache_key' => self::CACHE_SYSTEM_BASE_INFO
            ]
        ];
    }

    /**
     * 获取单个字段
     * @param $companyID
     * @param $dataID
     * @param $field
     * @return mixed
     */
    public static function commonGetSingleField($tableName, $dataID, $field)
    {
        return M($tableName)->where(['id' => $dataID])->value($field);
    }

    /**
     * 查看数据是否存在
     * @param $dataID
     * @return array|bool|false|\PDOStatement|string|Model
     */
    public static function commonCheckExist($tableName, $dataID)
    {
        if (!$dataID) return false;
        $info = M($tableName)->where(['isDel' => 0, 'id' => $dataID])->find();
        return $info ? $info : false;
    }

    /**
     * 根据条件搜索记录是否存在
     * @param $tableName
     * @param array $map
     * @return bool
     */
    public static function checkExistByMap($tableName, $map = [])
    {
        $info = M($tableName)->where($map)->find();
        return $info ? $info : false;
    }


}